          .          ,        ,    BSOD     .        ,      ,        ,      .
          LUA (     Scripts (LUA Manual.html),  www.lua.org)       Scripts ( *.lua).
 -      ,  ,     5,     . :)
     ,        .

---------------------------------------------------------------

---------------------------------------------------------------

number AddBreak(number where,number type1,number type2)
where-,   
type1-   :
	1-  (1 ),      ,    
	2-     0xCC,    
	3-    DR0
	4-    DR1
	5-    DR2
	6-    DR3
type2-   ,    : 0- , 1-   , 2-    .        ( type1=3-6),       .
result- 0
     .    ,       (. EnableBreak()).
     + ,       +   ,      BSOD,       

number Attach()
result- 0
     ,    Attach to process    .          .    ,     

number AttachFast(number PID,number thread_id)
PID-id   
thread_id-id    
result- 0
   Attach(),      .            (,    2   Armadillo)

number Continue(bool skiphooked)
skiphooked-              
result- 0
   ,  Run  .    ,     ,     (. EnableBreak()).     ,     ,  -     (. break_where)

number Detach()
result- 0
     .    ,     

bool DisableBreak(number where)
where- 
result-true,   ; false-   (    , )
    .     ,     

number DisableBreakAll()
result- 0
  

number Dump()
result- 0,   ; -1,    (,   )
  .      .        (, , , ),     (. SaveFile())

number DumpForRelocs()
result- 0,   ; -1,    (,   )
   (  DLL)      DLL (. PreLoad()),    .  DLL    OEP,     .       ,      RestoreImportRelocs()

number EmulateRDTSC(number active,number shift)
active- 2 : 0- , 1- 
shift-          RDTSC.   0100,    
result- 0
   1  13  (. Hook())     ,      .   

bool EnableBreak(number where)
where- 
result-true,   ; false-   (    , )
    .    ,        ,      .         .      ,   

number ExecuteFunction(string library, string function, number arg1, number arg2, number arg3, number arg4, number arg5)
library- ,      
function-   
arg1-arg5-   
result-   eax      ; -1,    (,   )
             .          (. LoadExtraLibrary())

number FindOEP()
result-OEP ; 0   
       OEP finder,       

number FullUnpack()
result- 0
    .        Full unpack    .            

number GetProcAddress(string library,string function)
library-   ,    
function- ,    
result-    ; 0    (,   )
         0   

number Hook(number victim_id, number int1, number int3, number int4, number int6, number int13)
victim_id-PID  
int1,int3,int4,int6,int13-   ,   : 0-  , 1- , 2- 
result- 0
     .      ,     ,    BSOD.     ,  victim_id    

number/string InputValue(string caption,string default)
caption-  
default-  ,      
result-   ,   ; -1,     cancel
                 -1

bool IsEnabled(number where)
where- 
result-true,   ; false-      (    , )
  ,      .          :)

number LoadExtraLibrary(string library)
library- ,   
result- 0,   ; -1,    (,   )
        

number NextInstr(number where)
where- 
result-   ; 0    (,  )
          

number Pause(string message)
message-,     MessageBox
result- 0
      .    OK      

number PreLoad()
result-0,     ; 1-       EXE    Use force unpacking  
   Force unpacking (  ,    Readme.rus.txt),      (  DLL).    (. RestoreImportRelocs())     ,  . DumpForRelocs().          OEP ( . jmp_to_oep).    DumpForRelocs() ,      OEP    ;  DumpForRelocs()  OEP   ,      (. Terminate())

number ProcessResourcesCutSections()
result- 0   ; -1    (,   )
         (   ).          (. SaveResources()).          (. ProcessTLS()).     ,     (. Dump())

number ProcessTLS()
result- 0   ; -1    (,   )
   .       .tls.   .         (     (. ProcessResourcesCutSections())),  .     ,     (. Dump())

number ReadMem(number where,number size)
where-,   
size-     ,    : 1, 2, 3, 4
result-  ; 0+        (,   )
      ,     0   .         

string ReadMemLarge(number where,number size)
where-,   
size-     
result-    
      ,     .      ,      

number RestoreImportRelocs()
result- 0   ; -1    (,   )
      (  DLL,     Use force unpacking (. PreLoad())  DumpForRelocs())     (. import_meth).        .idata  .relocs.     ,     (. Dump())

number Resume()
result- 0
       -  .      

number SaveFile()
result- 0   ; -1    (,   , . Dump())
   .         .     ,    ,   ,  , ,   

number SaveOverlay()
result- 0   ; -1    (,   , . Dump())
   .         .         ,    ,   ,  ,   

number SaveResources()
result- 0   ; -1    (,   , . Dump())
     .rsrc.     ,       (. ProcessResourcesCutSections())

number SetMainBreaks()
result- 0
  .     Start()  Attach()      ,     (   , . import_meth)         (   , . protect_dr).   ,       (     )

number Start()
result- 0
  .    EXE,   DLL .    ,    EP,      .    TLS callbacks  ,      EP

number Stop()
result- 0
   .       (   Kill target    )

number Suspend()
result- 0
    .      

number Terminate()
result- 0
   .       , -     

number Trace()
result- 0
     TF (trace flag).    ,        .    ,     ,  -     (. break_where)

number TraceAndReplace(number where)
where-  
result- 0
   TF (trace flag)        .       (. EnableBreak())       .    ,     ,  -     (. break_where)

number Wait()
result- 0
        -  .      

number WriteEx(string line, bool dobreak, bool bald, number textcolor)
line-    
dobreak-      
bald-   
textcolor- 
result- 0
       .   line      (. WriteLog())

number WriteLog(string line)
line-    
result- 0
      .   line     ,   , , : WriteLog(EAX)

number WriteMem(number where,number buf,number size)
where-,   
buf-,    
size-     ,    : 1, 2, 3, 4
result-  ,   ; 0    (,   )
      ,      0   .         

number WriteMemLarge(number where,string buf,number size)
where-,   
buf-,    
size-     
result-  ,   ; 0    (,   )
      ,      0   .      ,      

---------------------------------------------------------------

---------------------------------------------------------------

number break_where-,      ,         :
	0xf00- . ,   .     ,    (. Continue(), Trace(), TraceAndReplace())    
	0xf10-SingleStep.    TF (trace flag),    
	0xf20-        ,    
	0xf30-bUnhandledSingleStep.  SingleStep,     ,    
	0xf31-bUnhandledBreak.  Break,     ,    
	0xf32-bUnhandledBreakAlt.  BreakAlt,     ,    
	0xf40-bDr0.      Dr0
	0xf41-bDr1.      Dr1
	0xf42-bDr2.      Dr2
	0xf43-bDr3.      Dr3

number import_meth-  ,   ,        (. SetMainBreaks())      (. RestoreImportRelocs()),    : 0- Do not recover, 1- Smart method, 2- Smart method+tracer.      ,     1  2.     ,      

number jmp_to_oep-OEP   ,    PreLoad().     OEP,     

string packer-,    

string parameters-,     .     Parameters,     

bool protect_dr-     .            (. SetMainBreaks()).     true

bool suspect_functions-       .          

number thread_id-ID     .      ,      

number version- 200.     .    ,  ,     - .         ,    QuickUnpack  -  :)        ,    ,          

number victim_base-imagebase,      .      ,      

number victim_handle-   .      ,      

number victim_id-PID   .      ,      

     :
number EAX- eax
number EBX- ebx
number ECX- ecx
number EDX- edx
number EIP- eip
number EBP- ebp
number ESP- esp
number ESI- esi
number EDI- edi
number EFLAGS- eflags.   .  ,   ,   BSOD
number DR0- dr0.    .  ,   ,   BSOD
number DR1- dr1.    .  ,   ,   BSOD
number DR2- dr2.    .  ,   ,   BSOD
number DR3- dr3.    .  ,   ,   BSOD
number DR6- dr6.    .  ,   ,   BSOD
number DR7- dr7.    .  ,   ,   BSOD
number CS- cs.    .  ,   ,   BSOD